﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ACompany.OrderProcessing.Infrastructure
{
    public interface IRepository<T> where T : IAggregateRoot
    {
        void Save(T entity);
        void Remove(T entity);
        T FindBy(Guid id);
        IList<T> FindBy(Query.Query query);
        IList<T> FindAll();
        void Inject(IUnitOfWork unitOfWork);
    }
}
